package com.flutter_ecg.flutter_ecg.ecgapplication.ecgrealtimecheck;

import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log;

import com.flutter_ecg.flutter_ecg.ecgapplication.IKEcgCheckInterface;
import com.flutter_ecg.flutter_ecg.ecgapplication.utils.Constants;

import org.json.JSONObject;

import java.io.Serializable;
import java.util.HashMap;

public class IKEcgCheck implements IKEcgCheckInterface, Serializable {

    /*******************************************************************************************************/
    /**
     * 获取用户信息。该方法由用户修改，从自己的系统中拿到如下格式要求的信息。
     * 参考SDK文档中IKStartEcgCheck方法要求传入的ssinfo格式。
     * @param customData 用户自定义数据，通过IKEcgCheckController的showEcgView方法传进来的customData
     * @return
     */
    @Override
    public String createEcgUserInfo(String customData) {
        //todo 以下代码为模拟读取用户信息代码。可对此代码进行删除修改。
        //todo 如可以从自己的后台系统读取用户数据。
        HashMap<String, String> userInfoMap = new HashMap<>();
        userInfoMap.put("ssname", "San");
        userInfoMap.put("gender", "10000");
        userInfoMap.put("birth", "1988-01-01");
        userInfoMap.put("height", "182");
        userInfoMap.put("weight", "77");
        JSONObject userInfo = new JSONObject(userInfoMap);
        return userInfo.toString();
    }

    /**
     * 保存心电分析结果。该方法由用户修改，用户可将分析结果与tar文件存储到自己的系统中
     *
     * @param ecgSmartResult 心电分析结果，即json格式的字符串，参考文档中IKGetCurrEcgSmartResult方法给出的格式。
     * @param tarFilePath    心电数据报告文件，格式为全路径+文件名
     * @param userInfo    心电报告用户信息置底，通过createEcgUserInfo返回的用户信息
     * @param customData    用户自定义数据，通过IKEcgCheckController的showEcgView方法传进来的customData
     */
    @Override
    public void saveEcgResult(String ecgSmartResult, String tarFilePath, String userInfo, String customData) {
        //todo 以下代码为模拟保存心电分析结果和心电分析文件代码。可对此代码进行删除和修改。
        //todo 如用户可以将数据上传至自己的后台系统。

        //模拟保存数据
//        SharedPreferences sharedPreferences = MyApplication.getContext().getSharedPreferences(Constants.SP_ECGREPORTDATA_NAME, Context.MODE_PRIVATE);
//        SharedPreferences.Editor editor = sharedPreferences.edit();
//        String key = tarFilePath.substring(tarFilePath.lastIndexOf("/"), tarFilePath.lastIndexOf("."));
//        Log.i("saveEcgResult::::", "key:::" + key);
//        editor.putString(key, ecgSmartResult);
//        editor.commit();
    }
}
